%###########%##%%#################################################%%%
%#####%###%%%##%%%*##########%#######%######%%#####%#%%%###########%%
%###########%##%%%*+#%##**#############################%###########%%
%###########%##%#**++%%%###########################################%%
%###########%##+++*+++####%%#######################################%%
%############%*+*##################################################%%
%############%%%####%%*###%%########################################%
%###########%#%%#####%#**#+*##################################%%%%%%%
%###########%####%##%%%*+*##################%#########%#%###%%%%%%##%
%###########%####%#%%##*###%#################%#%%%###*************##%
%###########%######%%*++*####***#######%####%#*++****####***+###%##**
%###########%######%*+*********##*****+==*#*++*+=---:::..:-+#%##*++=*
%###########%####%#%%#%%%*##****=-::::+##+***=:.......:=*#%%#*++==*#%
%#############%%%%%%%##@#-+**#**-......:+*=:.......:=*#%%#**+==+#%##%
#############%######**++*=*+++%@+...............:=*####**+=-=+**#####
++=+****+**++++++=++-*%+=====*@%:............:=*#####*+==-=+=:..:=**+
-=+--=+#%#++++=-:=++%@@%%%%%%%#=::.::........=####*+==--+*+-=:.===+==
*=--++#%%%%#%*===+++++=-:=+*@%==:::::::......::=###*=---=*-:----:-=-+
+==***++++++%%%%%%%@+::::=+%@*=-:::::::::::::::::+###+---=+-====+=--+
#**%@#===+++++++*@@*::::-+%@*==-:::::::::::::::::::+###+--=*--:-++--*
--+#+----=-----=+*+-:::-+%@*==+*#*::::::::::::::::::-*##*=--+=--=+=*#
*******#%%#####%%%%%%#%%#*++*#%%%%#-::::::::::::::::::-*##*=-++++*+=+
@%%%%%%####%@@@#*******+#%%%%@@%%@@@#+++++++++++++****+*%%%%***%*%%#%